package com.student.work.mapper;

import com.student.work.model.JobApplication;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @date 2020/3/2 21:23
 */
@Mapper
@Repository
public interface JobApplicationMapper {

    /**
     * 新增工作申请
     *
     * @param record 实体类参数
     * @return 新增状态
     */
    int insert(JobApplication record);

    /**
     * 修改工作申请
     *
     * @param record 实体类参数
     * @return 更新状态
     */
    int update(JobApplication record);

    /**
     * 获取用户的申请列表
     *
     * @param userId 用户id
     * @return 申请列表
     */
    List<JobApplication> getListByUserId(@Param("pageNum") int pageNum,
                                         @Param("pageSize") int pageSize,
                                         @Param("userId") Long userId,
                                         @Param("applyStatus") Integer applyStatus);

    /**
     * 获取用户的申请总数
     *
     * @param userId 用户id
     * @return 申请总数
     */
    int getCount(@Param("userId") Long userId,
                 @Param("applyStatus") Integer applyStatus);

    int delete(@Param("applyUserId") Long applyUserId);
}